package com.eshop.modules.shop.vo;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import com.eshop.modules.shop.domain.AppVersion;
import java.io.Serializable;

public class AppVersionVo implements Serializable
{
    private static final long serialVersionUID = 1L;
    private Integer id;
    private String versionCode;
    private String versionName;
    private String versionInfo;
    private String downloadUrl;
    private Boolean forceUpdate;
    
    public void copy(final AppVersion source) {
        BeanUtil.copyProperties((Object)source, (Object)this, CopyOptions.create().setIgnoreNullValue(true));
    }
    
    public Integer getId() {
        return this.id;
    }
    
    public String getVersionCode() {
        return this.versionCode;
    }
    
    public String getVersionName() {
        return this.versionName;
    }
    
    public String getVersionInfo() {
        return this.versionInfo;
    }
    
    public String getDownloadUrl() {
        return this.downloadUrl;
    }
    
    public Boolean getForceUpdate() {
        return this.forceUpdate;
    }
    
    public void setId(final Integer id) {
        this.id = id;
    }
    
    public void setVersionCode(final String versionCode) {
        this.versionCode = versionCode;
    }
    
    public void setVersionName(final String versionName) {
        this.versionName = versionName;
    }
    
    public void setVersionInfo(final String versionInfo) {
        this.versionInfo = versionInfo;
    }
    
    public void setDownloadUrl(final String downloadUrl) {
        this.downloadUrl = downloadUrl;
    }
    
    public void setForceUpdate(final Boolean forceUpdate) {
        this.forceUpdate = forceUpdate;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof AppVersionVo)) {
            return false;
        }
        final AppVersionVo other = (AppVersionVo)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$id = this.getId();
        final Object other$id = other.getId();
        Label_0065: {
            if (this$id == null) {
                if (other$id == null) {
                    break Label_0065;
                }
            }
            else if (this$id.equals(other$id)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$forceUpdate = this.getForceUpdate();
        final Object other$forceUpdate = other.getForceUpdate();
        Label_0102: {
            if (this$forceUpdate == null) {
                if (other$forceUpdate == null) {
                    break Label_0102;
                }
            }
            else if (this$forceUpdate.equals(other$forceUpdate)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$versionCode = this.getVersionCode();
        final Object other$versionCode = other.getVersionCode();
        Label_0139: {
            if (this$versionCode == null) {
                if (other$versionCode == null) {
                    break Label_0139;
                }
            }
            else if (this$versionCode.equals(other$versionCode)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$versionName = this.getVersionName();
        final Object other$versionName = other.getVersionName();
        Label_0176: {
            if (this$versionName == null) {
                if (other$versionName == null) {
                    break Label_0176;
                }
            }
            else if (this$versionName.equals(other$versionName)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$versionInfo = this.getVersionInfo();
        final Object other$versionInfo = other.getVersionInfo();
        Label_0213: {
            if (this$versionInfo == null) {
                if (other$versionInfo == null) {
                    break Label_0213;
                }
            }
            else if (this$versionInfo.equals(other$versionInfo)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$downloadUrl = this.getDownloadUrl();
        final Object other$downloadUrl = other.getDownloadUrl();
        if (this$downloadUrl == null) {
            if (other$downloadUrl == null) {
                return true;
            }
        }
        else if (this$downloadUrl.equals(other$downloadUrl)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof AppVersionVo;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $id = this.getId();
        result = result * 59 + (($id == null) ? 43 : $id.hashCode());
        final Object $forceUpdate = this.getForceUpdate();
        result = result * 59 + (($forceUpdate == null) ? 43 : $forceUpdate.hashCode());
        final Object $versionCode = this.getVersionCode();
        result = result * 59 + (($versionCode == null) ? 43 : $versionCode.hashCode());
        final Object $versionName = this.getVersionName();
        result = result * 59 + (($versionName == null) ? 43 : $versionName.hashCode());
        final Object $versionInfo = this.getVersionInfo();
        result = result * 59 + (($versionInfo == null) ? 43 : $versionInfo.hashCode());
        final Object $downloadUrl = this.getDownloadUrl();
        result = result * 59 + (($downloadUrl == null) ? 43 : $downloadUrl.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "AppVersionVo(id=" + this.getId() + ", versionCode=" + this.getVersionCode() + ", versionName=" + this.getVersionName() + ", versionInfo=" + this.getVersionInfo() + ", downloadUrl=" + this.getDownloadUrl() + ", forceUpdate=" + this.getForceUpdate() + ")";
    }
}
